﻿

Public Class Cambio_de_Contraseña
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim imagFondo As Image = Page.Master.FindControl("ImagFondoCabecera")

        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            txtUsuarioActual.Text = PersLOgueada.Dev_usuario


            ''acomodo la imag de fondo
            imagFondo.Height = 300

        End If
    End Sub

    Private Function ValidadExistenciaDeUsuario() As Boolean
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        param(0) = New ADODB.Parameter
        param(0).Name = "@usuario"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNuevoUsuario.Text
        param(0).Size = 50



        Rs = Datos.TraerTodos("buscaSIexisteUsuario", param, "ValidadExistenciaDeUsuario- form cambio de contraseña")




        ValidadExistenciaDeUsuario = CBool(Rs.Fields(0).Value)



    End Function


    Protected Sub cmdGUardad_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdGUardad.Click
        Dim Param(2) As ADODB.Parameter
        Dim x As Boolean


        lblMesjeError.Visible = False


        If txtNuevoUsuario.Text = "" Then
            lblMesjeError.Text = "Falta el nombre de nuevo usuario"
            Exit Sub
        End If

        If Len(txtNuevoUsuario.Text) < 3 Then
            lblMesjeError.Text = "El Nuevo usuario es un nombre muy corto"
            Exit Sub
        End If

        If UCase(PersLOgueada.Dev_contraseña) <> UCase(txtContraseñaVieja.Text) Then
            lblMesjeError.Visible = True
            lblMesjeError.Text = "La contraseña anterior no es la correcta"
            Exit Sub
        End If


        If UCase(txtContraseñaNueva.Text) <> UCase(TxtRe_ContraseñaNueva.Text) Then
            lblMesjeError.Visible = True
            lblMesjeError.Text = "no se pudo confirma la nueva contraseña, Verifique que ambos campos sean iguales"
            Exit Sub
        End If

        If InStr(txtNuevoUsuario.Text, PersLOgueada.Dev_Dni, CompareMethod.Text) > 0 Then
            lblMesjeError.Visible = True
            lblMesjeError.Text = "El nuevo usuario no puede ser el dni"
            Exit Sub
        End If


        If ValidadExistenciaDeUsuario() = True Then
            lblMesjeError.Visible = True
            lblMesjeError.Text = "El nuevo usuario ya existe, debe elegir otro usuario"
            Exit Sub
        End If



        'guardo los datos''
        Param(0) = New ADODB.Parameter
        Param(0).Name = "@usuarioViejo"
        Param(0).Type = ADODB.DataTypeEnum.adVarChar
        Param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        Param(0).Value = txtUsuarioActual.Text
        Param(0).Size = 50


        Param(1) = New ADODB.Parameter
        Param(1).Name = "@usuarioNuevo"
        Param(1).Type = ADODB.DataTypeEnum.adVarChar
        Param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        Param(1).Value = txtNuevoUsuario.Text
        Param(1).Size = 50


        Param(2) = New ADODB.Parameter
        Param(2).Name = "@ContraseñaNueva"
        Param(2).Type = ADODB.DataTypeEnum.adVarChar
        Param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        Param(2).Value = txtContraseñaNueva.Text
        Param(2).Size = 50


        x = Datos.Modificar("ModificaContraseñaYusuario", Param, "cambia Contraseñas")


        If x = True Then
            FormsAuthentication.SignOut()
            Response.Redirect("Inicio.aspx")
        Else
            lblMesjeError.Visible = True
            lblMesjeError.Text = "Se produjo un error al querer cambiar la contraseña"
        End If





    End Sub
End Class